package com.cnpc.ds.annotation;

import java.lang.annotation.*;

/**
 * ClassName: RedisLocked
 * Package: com.cnpc.rtd.aop.annotation
 * Description:
 *
 * redis分布式锁注解
 *
 * @author chenjy
 * @date 2022/3/28 9:34
 **/
@Target(value = ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RedisLocked {
    /**
     * 锁的前缀，分类 （job,method）
     * @return
     */
    String lockPrefix() default "";

    /**
     * 锁的key
     * @return
     */
    String lockKey() default "";

    /**
     * 超时时间，默认30分钟
     * 可以解决死锁的问题， 重启项目得时候正在运行job的情况
     * @return
     */
    long timeOut() default 30;
}
